[Auth0] Twilioを利用してパスワードレス+SMS認証できるようにしてみた

[Auth0] Twilioを利用してパスワードレス+SMS認証できるようにしてみた

Clock Icon2024.11.07

こんにちは。

ゲームソリューション部の西川です。
前にパスワードレスにやパスキー、MFAなどの機能を試してみました。
https://dev.classmethod.jp/articles/auth0-passless-passkey-mfa/
その続きとして、パスワードレス+SMS認証の設定を行なっていきたいと思います。

パスワードレスとは
その名の通り、パスワードを利用しない認証方法となります。
従来のパスワード認証は使い回しなどで漏れる心配があり、パスワードの管理によっては安全性が高いとは言えない認証方法となります。
パスワードレス認証では、パスワードの代わりにメールアドレスやSMSを利用することでパスワードを管理する必要がなくなり、より安全な認証方法と考えられます。

SMS認証とは
SMS認証もその名の通り、SMSを利用して認証を行う方法となります。
パスワードレスだけでなく、MFAとしても利用することがあります。
SMS認証は携帯の電話番号がSIMカードに紐づけられていることもあるため、乗っ取られる可能性が低く安全性が高い認証方法と言われています。

パスワードレス+SMS認証を行うことで、より安全な認証方法を実現できます。
パスワードレス自体が近年注目され始めたということもあり、まだまだ浸透していない認証方法となりますが、安全性を高めたい場合はぜひこちらの認証方法を検討してみてください。

Auth0ではTwilioと連携することでこの辺りの設定を簡単に行なっていくことができます。
それでは設定の方を早速やっていきます。

Twilioの設定

Twilioのアカウントはすでに作ってある前提で進めていきます。

電話番号の購入

まずは、電話番号を購入しておきます。
SMS認証を行う必要があるので、SMS利用のできる電話番号を取得します。
スクリーンショット 2024-10-30 11.22.13

Messaging Serviceの作成

続いて、Messaging Serviceの作成の作成をしていきます。
任意の名前を入力して、何に利用するか選択したら、Create Messaging Serviceを押下します。
スクリーンショット 2024-10-30 11.29.06

次に、Messaging Serviceに電話番号を紐付けます。
Add Sendersを押下します。
スクリーンショット 2024-10-30 13.40.41

先ほど購入した電話番号を選択したら、Step3: Set up integrationを押下します。
スクリーンショット 2024-10-30 13.41.38

Step4と5は特に変更する箇所はないので、そのまま進めていきます。
スクリーンショット 2024-10-30 13.42.00
スクリーンショット 2024-10-30 13.42.17

作成が完了しました。
スクリーンショット 2024-10-30 13.43.04

Twilioのダッシュボードに遷移し、アカウント情報からアカウントSID認証トークンをコピーしておきます。
後ほど、Auth0の設定で利用します。
スクリーンショット 2024-10-30 13.43.45

Auth0の設定

続いて、Auth0の設定を行います。
前提として、Authentication Profileでは、Identifer Firstを選択しておきます。
スクリーンショット 2024-11-07 17.47.16

まずは、Authentication > PasswordlessからSMSの設定を開きます。
スクリーンショット 2024-10-30 17.50.29

設定画面でTwilio SIDに先ほどのTwilioの設定をした際に表示されていたアカウントSIDの内容を入力します。
Twilio AuthTokenには認証トークンの内容を入力します。
スクリーンショット 2024-10-30 17.50.51

SMS SourceではUse Fromを選択します。
Fromには購入した電話番号を入力し、Saveを押下します。
また、ここでUse Messaging Serviceを利用する場合は、作成したMessaging ServiceのSIDを入力します。
スクリーンショット 2024-10-30 17.51.02

Tryタブより、SMSの送信テストを行えるので、SMS recipientにSMSを送信したい送信先の電話番号を入力して、Tryを押下します。
スクリーンショット 2024-10-30 17.51.33

入力した電話番号にSMSでcodeが届くので、そのcodeを入力して、Continueを押下します。
スクリーンショット 2024-10-30 17.53.00

無事SMSによる認証を行えました。
スクリーンショット 2024-10-30 17.53.10

動作確認

動作確認にはチュートリアルにて作成済みのアプリケーションを利用します。

使用するアプリケーションのConnectionの設定より、SMS認証のみ有効にしておきます。
スクリーンショット 2024-11-07 18.03.40

Loginを押下します。
スクリーンショット 2024-11-07 17.51.45

電話番号が求められるので、SMSを送信したい電話番号を入力し、Continueを押下します。
スクリーンショット 2024-11-07 17.52.12

SMSでcodeが送信されます。
IMG_1890

送信されたコードを入力し、Continueを押下します。
スクリーンショット 2024-11-07 17.53.12

認証の確認が表示されるのでAcceptを押下します。
スクリーンショット 2024-11-07 17.53.21

無事ログインを行うことができました。
スクリーンショット 2024-11-07 17.53.47

さいごに

以上でパスワードレス+SMS認証を行うことができました。
導入のところで記載させていただいた通り、パスワードレス+SMS認証は近年注目されている認証方法の一つのなるので、ぜひご検討ください。

このように、Auth0では様々な認証を行うことができます。
下記記事でも他の認証方法の設定をしているので、他にどのようなものがあるかなど気になる場合はご覧いただければと思います。
https://dev.classmethod.jp/articles/auth0-passless-passkey-mfa/

本記事がAuth0をご検討中の方などのご参考になっていれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.